The techniques described in this section are techniques that could be pursued, but not necessarily techniques that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the techniques described in this section qualify as prior art merely by virtue of their inclusion in this section.
Adjusting the exposure of an image is a common image processing action. Most people are familiar with adjusting the brightness of their computer monitor. A computer monitor is made up of potentially millions of pixels. A pixel is the basic unit of the composition of an image on a television screen, computer monitor, or similar display. When a user adjusts the brightness of a CRT monitor or LCD screen, or of an image using image processing software, the user is adjusting each pixel according to a certain function. For example, an image may be brightened by adding a certain constant value, based on user input, to the values that represent each pixel in the image.
A function that is used to brighten pixels is referred to herein as a “brightening function”. Because pixels have a limit on how exposed (i.e. white) they can be, all hardware has a fixed maximum value for the data that represents the pixels. This physical limit is why a simple addition to all pixels in an image could not work, unless any values that exceeded the hardware limit were capped off. A simple addition has significant undesirable effects on an image, such as altering the truly black pixels and causing non-white pixels to become white.
A conventional Gamma-like function is commonly used to alter the brightness of an image to avoid this problem of brightening black pixels that are suppose to remain black and causing too many pixels to become white, which would cause the lose of much detail. The significant properties of a curve produced by a conventional Gamma-like function are (1) an infinite slope at the origin (where the brightness of a pixel is zero), and (2) a uniform bulbous characteristic in the lower to middle of the range of possible brightness values. The infinite slope and bulbous characteristic properties are a result of a power or square root term in the Gamma-like formula. For instance, FIG. 1 illustrates a graph 101 that shows a curve (“Gamma”) generated by a conventional Gamma-like function. The slope of Gamma is infinite at the origin and the curve “bulbs out” in the lower to middle range of the dark side of the brightness spectrum.
A function that is used to darken pixels is referred to herein as a “darkening function”. Typically, an inverse of the Gamma-like function is used as the darkening function. For instance, FIG. 4A illustrates a graph 401 that shows a curve (“Gamma”) generated by an inverse of a conventional Gamma-like function.